﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Planning.Classes;

namespace Planning.Forms {
    public partial class generationFormationForm : Form {
        #region Construct
        public generationFormationForm(int idFormation) {
            InitializeComponent();
            
            // Sélectionne les informations de la formation et ses inscrits
            DataTable infoFormation = SQL.requete("SELECT * FROM FORMATION LEFT JOIN FORMATION_ADHERENT ON FORMATION.id_formation = FORMATION_ADHERENT.id_formation LEFT JOIN ADHERENT ON ADHERENT.id_adherent = FORMATION_ADHERENT.id_adherent WHERE FORMATION.id_formation = " + idFormation + ";");
            
            // Valorise le nom de la formation et empêche la modification de la TextBox
            this.formationNom.ReadOnly = true;
            this.formationNom.Text = infoFormation.Rows[0]["libelle_formation"].ToString();
            
            // Valorise la date de la formation et empêche la modifcation
            this.formationDate.Value = Convert.ToDateTime(infoFormation.Rows[0]["debut_formation"]);
            this.formationDate.Enabled = false;

            // Pour chaque ligne dans la requête
            foreach (DataRow row in infoFormation.Rows) {
                // Vérifie s'il y a des inscrits
                if(row["isSalarie"]!= DBNull.Value) {
                    string salarie;
                    // Si la colonne "isSalarie" est vrai
                    if ((bool)row["isSalarie"]) {
                        // L'inscrit est salarié
                        salarie = "Oui";
                    }
                    // Si la colonne "isSalarie" est faux
                    else {
                        // L'incrit n'est pas un salarié
                        salarie = "Non";
                    }
                    // Inscrit dans la tableau le nom, le prenom, et la catégorie du salarié.
                    this.tableauInscrit.Rows.Add(row["nom_adherent"].ToString(), row["prenom_adherent"].ToString(), salarie);
                }
                
            }
        }
        #endregion

        private void button1_Click(object sender, EventArgs e) {
            this.Dispose();
        }
    }
}
